package com.foreknow.demo6;

/**
 * 面向对象基础
 * 1.什么是面向对象：面向对象编程就是面向类的编程，类就是一个抽象类的模板
 *   在类中只能存在属性（变量表示）和行为（方法表示）
 * 2.如果需要调用类中的方法必须创建对象
 *    基本语法： 类名  变量名  = new 类类名（）；
 *   创建对象就相当于类模板进行复制（可重用）
 *
 * 3.类和对象的关系？ 类是抽象的  对象是具体的
 *  1.如果方法的参数是自定义类类型的（引用类型），
 *  那么在调用方法的时候实参应该传递对象（new 出来的才是对象，相当于初始化）
 *  2.如果方法的返回值类型是自定义类型（引用类型），那么这个方法的返回值（方法的最终结果）
 *  应该是返回对象（new出来的才是对象，相当于初始化）
 */
public class Person {
    //属性（变量）全局变量/局部变量
    String name;//名字
    int age;//年龄
    String school;//学校

    //行为（方法）有返回值/无返回值
    public void eat(){
        System.out.println("eat......");
    }
    public void sleep(){
        System.out.println("sleep.....");
    }
    public void study(){
        System.out.println("study....");
    }

    public static void main(String[] args) {
        //创建对象
        Person p = new Person();
        //如何访问对象当中的属性和方法   语法： 对象名.属性名   对象名.方法名（参数）  例如：p就是对象名
        p.name="fender";
        p.age=23;
        p.school="foreknow";
        p.eat();
        p.sleep();
        p.study();
        System.out.println(p.name+p.age+p.school);


        Person p1 = new Person();
        p1.name="gis";
        p1.age=33;
        p1.school="neu";
        p1.eat();
        p1.sleep();
        p1.study();
        System.out.println(p1.name+p1.age+p1.school);
    }
}
